package Person.Lambda;

public class LambdaDemo {
    public static void main(String[] args) {
useAddable((int x,int y) ->{
    return x+y;
});
//参数类型可以省略，但是有多个参数的情况下，不能只省略一个

        System.out.println("--------");
        useFlyable((s) ->{
            System.out.println(s);
        });
        //如果参数有且仅有一个，那么小括号可以省略
        System.out.println("------------");
        useFlyable(s->{
            System.out.println(s);
        });
        //如果代码块的语句只有一条，可以省略大括号的分号
        System.out.println("-------------");
        useFlyable(s -> System.out.println(s));
        //如果代码块的语句只有一条，可以省略大括号的分号，如果有return  return也要省略
        System.out.println("----------");
   useAddable((x,y) -> x+y);

    }
    private static void useFlyable(Flyable a){
        a.fly("风和日丽，晴空万里");
    }
    private static void useAddable(Abbable a){
        int add = a.add(5, 6);
        System.out.println(add);
    }
}
